package com.e_library.jpa.entities;

import java.io.Serializable;
import javax.persistence.*;

import com.e_library.dao.classes.CollectionDaoImpl;
import com.e_library.dao.classes.CollectionIDao;
import com.e_library.dao.classes.LivreDaoImpl;
import com.e_library.dao.classes.LivreIDao;

import java.sql.Array;
import java.util.Date;
import java.util.Set;


/**
 * The persistent class for the "Livre" database table.
 * 
 */
@Entity
@Table(name="\"Livre\"")
public class Livre implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	private String isbn;

    @Temporal( TemporalType.DATE)
	private Date dateparution;

	private String langue;


	private String titre;
	private String soustitre;
	
	private String image;

	//bi-directional many-to-one association to Editeur
    @ManyToOne
	@JoinColumn(name="numediteur")
	private Editeur editeur;

	//bi-directional many-to-one association to Rayon
    @ManyToOne
	@JoinColumn(name="nomrayon")
	private Rayon rayon;

    private double prix;
	//bi-directional many-to-many association to Auteur
    @ManyToMany
	@JoinTable(
		name="\"Livre-Auteur\""
		, joinColumns={
			@JoinColumn(name="isbn")
			}
		, inverseJoinColumns={
			@JoinColumn(name="immtriculation")
			}
		)
	private Set<Auteur> auteurs;
	//bi-directional many-to-many association to Theme
	@ManyToMany(mappedBy="livres")
	private Set<Theme> themes;
	
    public Livre() {
    }

	public String getIsbn() {
		return this.isbn;
	}

	public void setIsbn(String isbn) {
		this.isbn = isbn;
	}

	public Date getDateparution() {
		return this.dateparution;
	}

	public void setDateparution(Date dateparution) {
		this.dateparution = dateparution;
	}

	public String getLangue() {
		return this.langue;
	}

	public void setLangue(String langue) {
		this.langue = langue;
	}



	public String getTitre() {
		return this.titre;
	}

	public void setTitre(String titre) {
		this.titre = titre;
	}
	public String getSoustitre() {
		return this.soustitre;
	}

	public void setSoustitre(String soustitre) {
		this.soustitre = soustitre;
	}
	public String getImage() {
		return this.image;
	}

	public void setImage(String image) {
		this.image = image;
	}
	public Editeur getEditeur() {
		return this.editeur;
	}

	public void setEditeur(Editeur editeur) {
		this.editeur = editeur;
	}
	
	public Rayon getRayon() {
		return this.rayon;
	}

	public void setRayon(Rayon rayon) {
		this.rayon = rayon;
	}
	
	public void setPrix(double prix){
		this.prix=prix;
	}
	public double getPrix(){
		return prix;
	}
	public Set<Auteur> getAuteurs() {
		return this.auteurs;
	}

	public void setAuteurs(Set<Auteur> auteurs) {
		this.auteurs = auteurs;
	}
	
	public Set<Theme> getThemes() {
		return this.themes;
	}

	public void setThemes(Set<Theme> themes) {
		this.themes = themes;
	}
	
}